package org.ala.tiktools.client_server.bean;

import java.lang.reflect.Method;

import org.ala.tiktools.rpc.plugin.circuit_breaker.ICircuitBreaker;
import org.ala.tiktools.rpc.plugin.node.NodeKey;
import org.springframework.beans.BeansException;
import org.springframework.context.ApplicationContext;
import org.springframework.stereotype.Component;

/**
 *
 *	@author ala
 *	@date 2025年5月3日
 */
@Component
public class DemoCircuitBreaker implements ICircuitBreaker {
	@Override
	public void setApplicationContext(ApplicationContext applicationContext) throws BeansException {
	}
	@Override
	public boolean circuit(Method method, Object[] args, NodeKey key) {
		//	返回true时，执行断路（或者叫降级更合适）
		return false;
	}

	@Override
	public void fallback(Method method, Object[] args, NodeKey key) {
		//	当 circuit 返回true时，执行这里的逻辑
	}

	@Override
	public void fallbackNoActiveNode(Method method, Object[] args) {
		//	当找不到可用节点时，执行这里的逻辑
	}
}
